The present invention relates to a system and method for the rapid, automatic conversion of documents, and in particular, for a system and method which converts such documents in a streamed manner, for example for transmission and display by a WAP (wireless application protocol) enabled device.
Cellular telephones are becoming increasingly popular for portable telephone use, particularly for users who are interested in rapid, mobile communication. As the amount of computational power and memory space which are available in such small, portable electronic devices becomes increased, a demand has arisen for different types of communication services through such devices. In particular, users have demanded that cellular telephones receive many different types of multimedia data, including e-mail (electronic mail) messages and Web pages.
In response to such demands, and to extend the power and efficacy of operation of portable, wireless electronic communication devices, the WAP (wireless application protocol) de facto standard has been developed. WAP is now the standard for the presentation and delivery of wireless data, including multimedia and other information, and telephony services, on mobile telephones and other types of wireless communication devices. WAP is designed to efficiently provide both multimedia and telephony services to such wireless communication devices, given the limitations of wireless networks and of the electronic devices themselves.
Wireless communication devices have requirements and drawbacks which are different than cable-linked electronic devices. For example, wireless networks are frequently significantly less stable than cable networks. Since users with such portable communication devices often operate these devices at different locations, the wireless network connection may not always be available, and may even suddenly become unavailable during a single communication session. In addition, the wireless communication devices themselves are more limited in terms of available resources than desktop computers. For example, such wireless communication devices typically have a less powerful CPU (central processing unit), less memory at a lower amount of available power since these devices are often battery-operated, and smaller display screens. Thus, wireless communication devices require adaptations of existing software and data transmission protocols in order to effectively deliver multimedia content from the Internet.
WAP provides the required adaptations and modifications to such software and data transmission protocols in order to meet the requirements of wireless communication devices. For example, HTML (Hyper-text Mark-up Language) has been adapted to form WML (Wireless Mark-up Language), which provides a document mark-up language suitable for WAP-enabled devices and their corresponding limitations. WAP-enabled devices are able to receive and display documents written in WML, thereby enabling such devices to display Web pages which are written in WML, for example.
Unfortunately bandwidth considerations still limit the amount of data which can be rapidly received by WAP-enabled devices, such as cellular telephones for example. Therefore, the user may be forced to wait for a significant period of time before an entire document is downloaded for display by the WAP-enabled device. Furthermore, the user may not even wish to view the entire document, but only a portion of such a document. If that portion is located near the end of the document, then the user must wait for data which is not of interest to be downloaded, before the portion of interest can be received by the WAP-enabled device. Also, WAP-enabled devices are not able to display file formats such as Microsoft Word™ documents.
This problem is particularly acute for documents which are not originally designed for display by a WAP-enabled device, such as files which are composed of OLE (Object Linking and Embedding) file components (Microsoft Ltd., USA). Such components, or components of other types of files, are not necessarily sequentially assembled within the file, such that each component must be examined in order to determine its relationship to other such file components, before the component can be converted to a different file format.
For example, files produced by the word processing software program, Word™ (Microsoft Ltd., USA) are actually assembled from OLE file components. Such files can be converted to text with formatting only after the relevant formatting block arrives for the text block, as the order of the formatting blocks parallels the order of the text blocks to which they refer. Therefore, the relative order of formatting and text blocks, and in particular the relationship between these blocks, must be maintained in order for the conversion to be successful. Thus, a simple solution to this problem is simply to wait until the entire file is received, and then to convert the entire file at once, thereby easily maintaining the relationship between the components.
A more useful solution would involve a “streamed” conversion, in which parts of the file are converted without waiting for the entire file to be received and/or without regard for the sequential order of the components within the file. Such a streamed conversion would enable the user to begin to receive and display the converted document in portions, without waiting for the entire document to be converted. Preferably, the user could also select a portion to be converted and viewed without regard to the location of that portion within the document, such that the user could optionally choose to view the last portion of the document before viewing other portions, for example. Such a solution would be particularly useful for low bandwidth devices such as wireless devices, since each part of the document could be downloaded to the device as soon as that part has been converted. For example, the document could be converted to WML (Wireless Markup Language) in a streamed manner, and then downloaded to, and displayed by, the WAP-enabled wireless device as soon as each part is ready. Such a solution would clearly be more efficient and would also clearly enable the user to view the document more quickly. Unfortunately, such a solution is not currently available.
There is thus a need for, and it would be useful to have, a system and a method for converting a document in a streamed manner, for example to a WAP-enabled device such as a cellular telephone, such that the device is able to receive and display at least a part of the converted document before the entire document is converted.